#from bag_of_words import BagOfWords
#from dataset_builder import DatasetBuilder
#from agent_comparator import AgentComparator
from learning_agent import LearningAgent
from nearest_neighbor import NearestNeighbor
from BoW_w_porter_and_stops import BagOfWords as BoW_w_porter

class Agent1(LearningAgent):
    '''
    Agent1 is sort of a class for generating classes. you inherit for it and 
    then use the classmethod set to set the parameter (the number of features).
    '''
    @classmethod
    def set(self, number_of_features):
        self.number_of_features = number_of_features
    
    def createFeatureExtractor(self):
        look_at = range(1,26)
        
        
        return BoW_w_porter(self.number_of_features)
    
    def createClassifier(self):
        return NearestNeighbor()
    
    def __str__(self):
        return str(self.number_of_features)+'_porter_stops'
